package demo3;

// DataMiningTemplate.java
public abstract class DataMiningTemplate {

    // 模板方法：定义了数据挖掘的整个流程（算法骨架），通常声明为 final，防止子类修改流程
    public final void executeMiningProcess() {
        System.out.println("===== 开始数据挖掘流程 =====");
        loadData();
        preprocessData();
        extractFeatures();
        trainModel();
        evaluateModel();
        outputResults();
        System.out.println("===== 数据挖掘流程结束 =====");
    }

    // 以下方法为具体步骤，交给子类实现（抽象方法）
    protected abstract void loadData();
    protected abstract void preprocessData();
    protected abstract void extractFeatures();
    protected abstract void trainModel();
    protected abstract void evaluateModel();
    protected abstract void outputResults();
}
